      program poisson
      implicit none
      
      integer Nx, Ny, Nz, prec

      integer timing(8)
      character(len=8) date
      character(len=10) time
      character(len=5) zone
      double precision time1, time2

      call date_and_time(date,time,zone,timing)

      time1 = timing(5)*3600 +
     +        timing(6)*60 +
     +        timing(7)    +
     +        dble(timing(8))/1000d0

C-------------------------------------------------------------------------------
C prec = 1: diagonal scaling, prec = 2: incomplete Cholesky
C-------------------------------------------------------------------------------

      prec=2

      Nx = 31
      Ny = Nx
      Nz = 1
      
      
      call main(prec, Nx, Ny, Nz)
      
      
C-------------------------------------------------------------------------------
C
C-------------------------------------------------------------------------------

      call date_and_time(date,time,zone,timing)
      time2 = timing(5)*3600 +
     +        timing(6)*60 +
     +        timing(7)    +
     +        dble(timing(8))/1000d0
      	
	
      if (prec .eq. 1) then
      	write(*,'(A)') 'Preconditioner: diagonal scaling.'
      elseif (prec .eq. 2) then
        write(*,'(A)') 'Preconditioner: incomplete Cholesky.'
      endif
      
      write(*,'(A,F7.2,A)') 'Wall clock time is',(time2-time1), '_sec.' 

      stop
      end

